package com.xzkj.rx.thread.utils;

import io.reactivex.ObservableEmitter;

/**
 * @author: liujie
 * @date: 2021/12/7 上午11:28
 * @description: rxjava线程切换接口, 多次回调callbackui
 */
public abstract class RxMultiCall<T> {

    /**
     * 子线程中执行耗时任务
     * @param emitter
     * @return
     */
    public abstract void doSub(ObservableEmitter<T> emitter);

    /**
     * 回调到主线程中
     * @param t
     */
    public abstract void onUi(T t);

    /**
     * 完成任务回调
     */
    public void onComplete() {

    }

    /**
     * 执行失败，错误回调
     * @param e
     */
    public void onError(Throwable e) {

    }
}
